{{>Partials/ClassDeclaration}} {
    {{>ObjectShape/Fields}}

    // ---------------------------------------------------------------------------------------------

    {{>ObjectShape/Constructor}}

    {{>ObjectShape/Getters}}

    /**
     * Serialize this value to JSON.
     */
    @Override
    public void serialize({{TYPES.Jakarta.Json.Stream.JsonGenerator}} generator, {{TYPES.Client.Json.JsonpMapper}} mapper) {
        {{#delegatedType.serializer}}this.valueBody{{/delegatedType.serializer}}
    }

    // ---------------------------------------------------------------------------------------------

    {{>ObjectShape/ToBuilder}}

    {{>ObjectShape/Builder}}

    // ---------------------------------------------------------------------------------------------

    {{>DelegatedShape/Deserialize}}

    {{>ObjectShape/HashCode}}

    {{>ObjectShape/Equals}}
}
